<?php
 Session_Start () ;
 Include ("../../include/garennes.cfg") ;
 Include ("../../include/init.php") ;
 Include ("../include/config.inc") ;
 
 // Table permissions
 $perm [0] = "---" ;
 $perm [1] = "--x" ;
 $perm [2] = "-w-" ;
 $perm [3] = "-wx" ;
 $perm [4] = "r--" ;
 $perm [5] = "r-x" ;
 $perm [6] = "rw-" ;
 $perm [7] = "rwx" ;
 // Fichier utils/groupes
 $utils = File ("/etc/passwd") ;
 $groupes = File ("/etc/group") ;
 
 // -----------------------------------------------------------------------------------
 // Fonction qui parcourt un repertoire et renvoi tous les fichiers dans un tableau
 // -----------------------------------------------------------------------------------
 Function parcourt ($repertoire, $fiche)
  {
   Global $perm, $utils, $groupes, $nombre_rep, $nombre_fiche ;
   $nombre = 0 ;
   If ($dir = @OpenDir ($repertoire))
    {
     While ($fichier = @ReadDir ($dir))
      {
       If ($fichier != "." And $fichier != "..")
        {
	 $nombre++ ;
	 If ($nombre > 1) { FPuts ($fiche, ",") ; }
	 FPuts ($fiche, "\n") ;
	 If (FileType ($repertoire."/".$fichier) == "dir") { $nombre_rep++ ; $n = $nombre_rep ; } Else { $nombre_fiche++ ; $n = $nombre_fiche ; }
	 FPuts ($fiche, "'".$n.") ".$fichier."          ") ;
	 // Permissions
	 $p = SubStr (DecOct (FilePerms ($repertoire."/".$fichier)), StrLen (DecOct (FilePerms ($repertoire."/".$fichier)))-3, 3) ;
	 FPuts ($fiche, $perm [SubStr ($p, 0, 1)].$perm [SubStr ($p, 1, 1)].$perm [SubStr ($p, 2, 1)]."   ") ;
	 // Utilisateur
	 $p = FileOwner ($repertoire."/".$fichier) ;
	 $ok = 0 ;
	 For ($j = 0 ; $j < SizeOf ($utils) ; $j++)
          {
           $lg = Explode (":", $utils [$j]) ;
           If ($p == $lg [2]) { FPuts ($fiche, $lg [0]."   ") ; $ok = 1 ; }
          }
	 If ($ok == 0) { FPuts ($fiche, $p."   ") ; }
	 // Groupe
	 $p = FileGroup ($repertoire."/".$fichier) ;
	 $ok = 0 ;
	 For ($j = 0 ; $j < SizeOf ($groupes) ; $j++)
          {
           $lg = Explode (":", $groupes [$j]) ;
           If ($p == $lg [2]) { FPuts ($fiche, $lg [0]) ; $ok = 1 ; }
          }
	 If ($ok == 0) { FPuts ($fiche, $p."   ") ; }
	 FPuts ($fiche, "'") ;
	 If (FileType ($repertoire."/".$fichier) == "dir")
	  {
	   FPuts ($fiche, "=>array(") ;
	   parcourt ($repertoire."/".$fichier, $fiche) ;
	   FPuts ($fiche, ")") ;
	  }
	}
      }
     @CloseDir ($dir) ;
    }
  }

 $resultats = SQL_commande ("SELECT * FROM menus WHERE numero='".$droit_courant."' AND ordre='0'", $id_sql) ;
 $l = SQL_tableau_associatif ($resultats, "") ;
 
 $f = var_courante ("fiche", 0, null) ;
 If (IsSet ($f) And ($f == 1))
  {
   $nombre_rep = $nombre_fiche = 0 ;
   $fiche = FOpen ("../../include/arbo.php", "w") ;
   FPuts ($fiche, "<?php\n\$table = array (") ;
   parcourt ($repertoire_racine, $fiche) ;
   FPuts ($fiche, ");\n?>") ;
   FClose ($fiche) ;
   Include ("../../include/arbo.php") ;
   Define ('FPDF_FONTPATH','../../include/font/') ;
   Require_Once ('../../include/pdf_tree.php') ;
   // CREATE PDF
   $pdf=new PDF_Tree () ;
   $pdf->Open () ;
   $pdf->SetMargins (5,0,5) ;
   $pdf->SetAutoPageBreak (true,0) ;
   $pdf->AddPage () ;
   $pdf->SetFont ('Arial','',3) ;
   $pdf->SetFillColor (150,150,150) ;
   $pdf->SetDrawColor (20,20,20) ;
   $pdf->SetTextColor (0,0,0) ;
   $pdf->Cell (0,6,'Etat du systeme',0,'','R') ;
   $pdf->Ln (6) ;
   
   $startX         = 0 ;
   $nodeFormat     = '%k' ;
   $childFormat    = "%v" ;
   $w              = 100 ;
   $h              = 1 ;
   $border         = 0 ;
   $fill           = 0 ;
   $align          = 'L' ;
   $indent         = 5 ;
   $vspacing       = 1 ;
   $drawline       = true ;
   $pdf->SetY (6) ;
   $pdf->MakeTree ($table,$startX,$nodeFormat,$childFormat,$w,$h,$border,$fill,$align,$indent,$vspacing,$drawline) ;
   
   $pdf->Output () ;
   Exit ;
  }
 
 Echo entete_page ("", "") ;
 Echo "<html><head>" ;
 entete_html ("Garennes - Menu", "", 0) ;
 Echo styles ("none", "none", "none", $l ["lien"], "none") ;
 Echo "</head>" ;
 Echo "<body background=\"../images/fond.png\" text=\"#000000\">" ;
 Echo "<center><b>&Eacute;tat du syst&egrave;me</b><br>" ;
 Echo "<br><b>Apache+PHP</b></center><hr>" ;
 phpInfo () ;
 Echo "<br><center><b><a href=\"./etat.php?fiche=1\">Fichiers Garennes</a></b></center><hr>" ;
 
 //Echo affichage_arbo ($table, 10, 1) ;
 Echo "<br><center><b>Fichier /include/garennes.cfg</b></center><hr>" ;
 Echo "<pre>" ;
 $fichier = File ("../../include/garennes.cfg") ;
 For ($i = 0 ; $i < SizeOf ($fichier) ; $i++)
  {
   Echo Str_Replace ("<", "&lt;", Chop ($fichier [$i]))."<br>" ;
  }
 Echo "</pre>" ;
 Echo "<hr>" ;
 
 $resultats = SQL_commande ("SHOW VARIABLES", $id_sql) ;
 For ($i = 0 ; $i < SQL_nbr_lignes ($resultats) ; $i++)
  {
   $ligne = SQL_ligne_suivante ($resultats) ;
   Echo $ligne [0]."->".$ligne [1]."<br>" ;
  }
 
 Echo "<hr>" ;
 
 $resultats = SQL_commande ("SELECT  * FROM  configuration where identification='SYSTEME_PARAM' order by nom,indice", $id_sql) ;
 For ($i = 0 ; $i < SQL_nbr_lignes ($resultats) ; $i++)
  {
   $ligne = SQL_tableau_associatif ($resultats, "") ;
   Echo $ligne ["identification"]."->".$ligne ["nom"]."->".$ligne ["indice"]."=".$ligne ["valeur"]."<br>" ;
  }
 
 Echo "<hr>" ;
 Echo "Verification service_prof -> services_classe<br>" ; 
 $sp = SQL_commande ("SELECT * FROM services_prof ORDER BY code_classe", $id_sql) ;
 For ($i = 0 ; $i < SQL_nbr_lignes ($sp) ; $i++)
  {
   $ligne = SQL_tableau_associatif ($sp, "") ;
   $sc = SQL_commande ("SELECT * FROM services_classe WHERE id_service_classe='".$ligne ["service_classe"]."'", $id_sql) ;
   //if ($i == 0) { echo "SELECT * FROM services_classe WHERE id_service_classe='".$ligne ["service_classe"]."'<br>" ; }
   If ((SQL_nbr_lignes ($sc) == 0) Or (SQL_nbr_lignes ($sc) > 1))
    {
     Echo "SP = ".$ligne ["id_service_prof"]."<br>" ;
    }
  }
 
 Echo "<hr>" ;
 Echo "Verification service_classe -> services_prof<br>" ; 
 $resultats = SQL_commande ("SELECT * FROM services_classe ORDER BY code_classe", $id_sql) ;
 For ($i = 0 ; $i < SQL_nbr_lignes ($resultats) ; $i++)
  {
   $ligne = SQL_tableau_associatif ($resultats, "") ;
   $sp = SQL_commande ("SELECT * FROM services_prof WHERE service_classe='".$ligne ["id_service_classe"]."'", $id_sql) ;
   If ((SQL_nbr_lignes ($sp) == 0) Or (SQL_nbr_lignes ($sp) > 1))
    {
     Echo "SC = ".$ligne ["id_service_classe"]."<br>" ;
    }
  }
 Echo "</body></html>" ;
?>